home *** CD-ROM | disk | FTP | other *** search
- /*
- ** vbcc-Amiga-PowerPC version of fclose.c
- **
- ** v0.1 04.10.97 phx
- */
-
- #include <stdio.h>
- #include <powerup/gcclib/powerup_protos.h>
-
- extern char *_stdin,*_stdout,*_stderr;
- extern FILE *_firstfile,*_lastfile;
-
- /* closes files */
- /* still very simple */
- int fclose(FILE *f)
- {
- if(!f) return(EOF);
- if(!f->filehandle) return(EOF);
- fflush(f);
- if(f->filehandle!=_stdin&&f->filehandle!=_stdout&&f->filehandle!=_stderr)
- PPCClose((BPTR)f->filehandle); /* evaluate return code here */
- if(f->prev) f->prev->next=f->next; else _firstfile=f->next;
- if(f->next) f->next->prev=f->prev; else _lastfile=f->prev;
- if(f->base&&!(f->flags&_NOTMYBUF)) free(f->base-1);
- free(f);
- return(0);
- }
-